#include <iostream>
#include <ranges>
#include <vector>
using namespace std;

// C++20 概念（concepts）
template<typename T>
concept Numeric = requires(T a, T b)
{
	{
		a + b
	}
	-> std::convertible_to<T>;
};

void print_sum(Numeric auto a, Numeric auto b)
{
	cout << "Sum: " << a + b << endl;
}

int main()
{
	vector<int> numbers = { 1, 2, 3, 4, 5 };
	for (const auto& num : numbers) {
		print_sum(num, 5);
	}

	system("pause");
	return 0;
}